public class code3 {
//    牛客 top101 大数加法

    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {

        // 首先先针对 空 串进行处理
        if(s.length() == 0) {
            return t;
        }
        if(t.length() == 0) {
            return s;
        }

        StringBuilder build = new StringBuilder();

        // 进行加法计算，需要从字符串的尾部先开始取值
        int a = s.length() - 1;
        int b = t.length() - 1;

        // 定义一个标志位，用来记录进位操作
        int flag = 0;

        while(a >=0 || b >=0) {
            // 这里需要定义两个变量，用来存储每一位上的值
            int num1 = 0;
            int num2 = 0;
            num1 = a < 0 ? 0 : s.charAt(a) - '0';
            a--;

            num2 = b < 0 ? 0 : t.charAt(b) - '0';
            b--;

            // 针对两数进行相加操作，还要记得进位信息
            int nums = num1 + num2 + flag;

            // 构建字符串，这里只构建个位上的数，之后将 其他位上的数设置到进位信息中即可
            build.insert(0, nums % 10);

            // 将进位值进行获取
            flag = nums / 10;
        }

        // 循环计算完两个字符串后，还需要最后将 进位标志中的数据添加到 返回字符串的头部
        if(flag != 0) {
            build.insert(0, flag);
        }
        return build.toString();
    }
}
